#include "Item.hh"

// 物品构造函数,初始化物品属性
Item::Item(int id, const std::string& name, const std::string& effect, int value)
    : id_(id), name_(name), effect_(effect), value_(value) {}

// 获取物品ID
int Item::getID() const { return id_; }
// 获取物品名称
std::string Item::getName() const { return name_; }
// 获取物品效果
std::string Item::getEffect() const { return effect_; }
// 获取物品数值
int Item::getValue() const { return value_; }

// 检查物品是否已被拾取
bool Item::isPicked() const {
    return isPicked_;
}

// 设置物品拾取状态
void Item::setPicked(bool picked) {
    isPicked_ = picked;
}

// 从JSON解析物品数据
void from_json(const json& j, Item& item) {
    j.at("id").get_to(item.id_);
    j.at("name").get_to(item.name_);
    j.at("effect").get_to(item.effect_);
    j.at("value").get_to(item.value_);
}